--- title: "2、等差素数列" created: 2025-11-28 tags: - 算法 --- # 2、等差素数列 ## 题目 [等差素数列](https://www.lanqiao.cn/paper/3854/problem/646/) ![[image-9489a600.png]] ## 思路分析 暴力枚举 枚举起点和公差 往后推九项 若每一项都是素数 就说明这个公差可以 结束程序即可 核心就是一个判断素数 可以用试除法 ## 代码实现 ```cpp #include using namespace std; const int N=100010; set primes; bool st[N]; bool is_prime(int x) { if(x<2) return false; for(int i=2;i<=x/i;i++){ if(x%i==0) return false; } return true; } int main() { //枚举 起点 和 公差 for(int i=2;i<10000;i++){ if(is_prime(i)){ for(int d=1;d<=1000;d++){ int cnt=1; //往后推9项 for(int n=2;n<=10;n++){ if(isprime(i+(n-1)*d)){ cnt++; } else{ cnt=0; break; } if(cnt==10){ cout<